Управление департаментами и лимитами
DepartmentManager
Управления департаментами.
class yandex_b2b_go.department.DepartmentManager(client: Client)
Атрибут
-
DepartmentLimitManager — управление лимитом департамента.
limit: DepartmentLimitManager
Методы
- create — создает департамент.
- list — получает список департаментов.
- update — обновляет департамент.
- delete — удаляет департамент и все подчиненные (дочерние) департаменты.
Create
Создание департамента.
async def create(department: Department) -> DepartmentCreateResponse
Параметр
department
— данные о новом департаменте. Класс Department.
В случае успешного выполнения возвращает класс DepartmentCreateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
department_manager = DepartmentManager(client=client)
try:
department = typing.Department(
name='Отдел маркетинга'
)
response_create = await department_manager.create(department=department)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
List
Получает список департаментов.
async def list(
limit: Optional[int] = None,
offset: Optional[int] = None
) -> DepartmentListResponse
Параметры
-
limit
— количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях. -
offset
— количество пропускаемых записей. При отсутствии данного параметра возвращается информация начиная с первой записи.
В случае успешного выполнения возвращает класс DepartmentListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
department_manager = DepartmentManager(client=client)
try:
department_list = await department_manager.list(limit=100, offset=0)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Update
Обновляет департамент.
async def update(
department_id: str,
department: DepartmentUpdateRequest
) -> DepartmentUpdateResponse
Параметры
department_id
— идентификатор департамента, по которому обновляется информация.department
— новые данные о департаменте, класс DepartmentUpdateRequest.
В случае успешного выполнения возвращает класс DepartmentUpdateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
department_manager = DepartmentManager(client=client)
try:
department = typing.DepartmentUpdateRequest(
name='Маркетинг B2B'
)
response_update = await department_manager.update(department_id='87e8...f646c', department=department)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Delete
Удаляет департамент и все подчиненные (дочерние) департаменты.
async def delete(department_id: str) -> DepartmentDeleteResponse
Параметр
department_id
— идентификатор департамента, по которому удалять.
В случае успешного выполнения возвращает класс DepartmentDeleteResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
department_manager = DepartmentManager(client=client)
try:
response_delete = await department_manager.delete(department_id='87e8...646c')
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
DepartmentLimitManager
Управление лимитами департамента.
class yandex_b2b_go.departemnt.DepartmentLimitManager(client: Client)
Атрибут
-
DepartmentTaxiLimitManager — управление лимитом департамента для поездок в сервисе Такси.
taxi: DepartmentTaxiLimitManager
DepartmentTaxiLimitManager
Управление лимитом департамента для поездок в сервисе Такси.
class yandex_b2b_go.department.DepartmentTaxiLimitManager(client: Client)
Методы
Get
Получает лимит департамента на поездки.
async def get(department_id: str) -> DepartmentBudget
Параметр
department_id
— идентификатор департамента, по которому запрашивается лимит.
В случае успешного выполнения возвращает класс DepartmentBudget.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
department_manager = DepartmentManager(client=client)
try:
department_limit_taxi = await department_manager.limit.taxi.get(department_id='87e8...646c')
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Update
Изменяет лимит департамента на поездки.
async def update(
department_id: str,
limit: DepartmentBudget
) -> DepartmentUpdateResponse
Параметры
department_id
— идентификатор департамента, по которому изменяется лимит.limit
— обновленная информация о лимите департамента, класс DepartmentBudget.
В случае успешного выполнения возвращает класс DepartmentUpdateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import DepartmentManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
department_manager = DepartmentManager(client=client)
try:
limit = typing.DepartmentBudget(budget=10000)
response_update = await department_manager.limit.taxi.update(department_id='87e8...646c', limit=limit)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())